Active Expressions: Basic Building Blocks for Reactive Programming
نویسندگان
چکیده
Modern software development without reactive programming is hard to imagine. Reactive programming favors a wide class of contemporary software systems that respond to user input, network messages, and other events. While reactive programming is an active field of research, the implementation of reactive concepts remains challenging. In particular, change detection represents a hard but inevitable necessity when implementing reactive concepts. Typically, change detection mechanisms are not intended for reuse but are tightly coupled to the particular change resolution mechanism. As a result, developers often have to re-implement similar abstractions. A reusable primitive for change detection is still missing. To find a suitable primitive, we identify commonalities in existing reactive concepts. We discover a class of reactive concepts, state-based reactive concepts. All state-based reactive concepts share a common change detection mechanism: they detect changes in the evaluation result of an expression. On the basis of the identified common change detection mechanism, we propose active expressions as a reusable primitive. By abstracting the tedious implementation details of change detection, active expressions can ease the implementation of reactive programming concepts. We evaluate the design of active expressions by re-implementing a number of existing state-based reactive concepts using them. The resulting implementations highlight the expressiveness of active expressions. Active expressions enable the separation of essential from non-essential parts when reasoning about reactive programming concepts. By using active expressions as a primitive for change detection, developers of reactive language constructs and runtime support can now focus on the design of how application programmers should be able to react to change. Ultimately, we would like active expressions to encourage experiments with novel reactive programming concepts and with that to yield a wider variety of them to explore. ACM CCS 2012 Software and its engineering→ Patterns; Control structures; Very high level languages; Multiparadigm languages;
منابع مشابه
Representing Semantically Analyzed C++ Code with Reprise
A prominent stumbling block in the spread of the C++ programming language has been a lack of programming and analysis tools to aid development and maintenance of C++ systems. One way to make the job of tool developers easier and to increase the quality of the tools they create is to factor out the common components of tools and provide the components as easily (re)used building blocks. Those bu...
متن کاملGenerating a Specific Class of Metaphors
1 I n t r o d u c t i o n Although some progress has been made in the area of metaphor understanding, little has been made in metaphor generation. Current solutions rely upon a rather direct encoding of alternatives. There is no computational theory that can account for metaphor generation from basic principles. Although generating all types of metaphors from basic principles is very difficult,...
متن کاملA Data Model and its Implementation for a Web-Based Language Learning System
Published in: Proceedings of the 12th International World Wide Web Conference (WWW’03), pages 217–225. 20–24 May 2003, Budapest, Hungary At the European Academy of Bozen-Bolzano we are currently developing an adaptive Web-based language learning system for the German and Italian languages. In this paper we focus on the development and implementation of a data model for this system. While in the...
متن کاملMathematical Model and Algorithm for sequencing operations in the machine building industry
In this paper, the problem of sequencing machines in the final assembly line with regard to the supply of parts has been investigated. For this reason, a basic integer linear programming model has been developed and based on this, the problem-solving algorithm is developed in accordance with the reaction-based approach based on the renewal of the sequence of operations. Also, due to the Np-hard...
متن کاملReactive and Active Power Control of Grid WECS Based on DFIG and Energy Storage System under both Balanced and Unbalanced Grid Conditions
This paper focuses on improving the active and reactive power control of Wind Energy Conversion System (WECS) by employing the Battery Energy Storage System (BESS) and controlling the frequency and voltage regulation instantaneously. The proposed power control scheme is composed of two control loops so that they are implemented and designed for active power control and controlling the reactive ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Programming Journal
دوره 1 شماره
صفحات -
تاریخ انتشار 2017